/* cPaletteWindow.h
 * Palette editor window.
 */
#ifndef __newmoon_cpalettewindow_h
#define __newmoon_cpalettewindow_h

class PaletteWindow;
#include "cMainWindow.h"

class PaletteWindow: public Window {
	public:
		PaletteWindow(MainWindow *Parent);
		~PaletteWindow();
		bool LoadPalette(u8 BGCol, u8 FGPal, u8 BGPal, u8 SprPal, u8 PlayerPal);
		void Redraw();
	
	protected:
		MainWindow *Parent;
		DrawBox *PaletteBox;
		bool ShowGrid;
		GtkLabel *StatusLabel;
	
	private:
		friend class MainWindow;
		
		void _Create(MainWindow *Parent);
		friend void cPaletteWindow_PaletteBoxConfigureEvent(DrawBox* Box, GtkWidget* DrawingArea, GdkEventConfigure* Event, void *Win);
		friend void cPaletteWindow_PaletteBoxExposeEvent(DrawBox* Box, GtkWidget* DrawingArea, GdkEventExpose* Event, void *Win);
		friend gboolean cPaletteWindow_DeleteEvent(GtkWidget *Widget, GdkEvent *Event, gpointer Win);
};
void cPaletteWindow_PaletteBoxConfigureEvent(DrawBox* Box, GtkWidget* DrawingArea, GdkEventConfigure* Event, void *Win);
void cPaletteWindow_PaletteBoxExposeEvent(DrawBox* Box, GtkWidget* DrawingArea, GdkEventExpose* Event, void *Win);
gboolean cPaletteWindow_DeleteEvent(GtkWidget *Widget, GdkEvent *Event, gpointer Win);

#endif //__newmoon_cpalettewindow_h
